package com.fy.oa.zc.manager;

import java.util.Set;

import org.springframework.jdbc.core.JdbcTemplate;

import com.fy.oa.zc.conf.FyOAConf;
import com.fy.oa.zc.domain.FySummaryView;
import com.fy.oa.zc.rest.FyOARestClient;

public interface FyOA_FormEventManager {

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate);

	public void setFyOARestClient(FyOARestClient fyOARestClient);

	public void setFyOAConf(FyOAConf fyOAConf);

	public void setFormNameSet(Set<String> formNameSet);
	
	public void setRepeatFieldNameSet(Set<String> repeatFieldNameSet);

	/**
	 * 提交事件处理
	 * @param affairid TODO
	 * @return String 结果消息 @ TODO
	 */
	public String dealProcessEvent(FySummaryView view, long affairid);

	/**
	 * 流程结束事件处理
	 * @param affairid TODO
	 * @return String 结果消息 @ TODO
	 */
	public String dealFinishEvent(FySummaryView view, long affairid);

	/**
	 * 发送事件处理
	 * @return String 结果消息 @ TODO
	 */
	public String dealStartEvent(FySummaryView view);

	/**
	 * 终止事件处理
	 * @return String 结果消息 @ TODO
	 */
	public String dealStopEvent(FySummaryView view);

	/**
	 * 撤销事件处理
	 * @param userid TODO
	 * @param message TODO
	 * @return String 结果消息 @ TODO
	 */
	public String dealCancelEvent(FySummaryView view, long userid, String message);

	/**
	 * 回退事件处理
	 * @return String 结果消息 @ TODO
	 */
	public String dealStepBackEvent(FySummaryView view);
}
